A majority of offices today have one or more laser printers which are connected to several host computers on the local area network enabling multiple users to print documents from their user terminals. The printer controllers provided within the laser printers receive the page data stream to be printed from each of the host computer separately and handles the print requests received from several host computers concurrently.
The printer controller communicates with the host computers on the network in a page description language to receive the print data stream through communication ports such as parallel ports or USB ports. However, with the advancement in the complexity of the text and graphic information printed now-a-day, conventional page description languages, which described a page data as a bitmap image, have evolved to advanced languages such as printer command language and Postscript®, which describe a page data in a vector form. The modern network printers are adapted to receive such vector images and thereafter transform them to bitmap images.
The modern day printers are provided with raster image processors which receive the input page data in a high level page description language such as printer command language, Postscript® or bitmap images of lower resolution and “normalize” the received image data to produce the high resolution output bitmap image. These output bitmap images are thereafter communicated to the printing hardware for printing. It is further known that these raster image processors can be implemented either as a software component of an operating system or as a firmware program executed on a microprocessor provided within the printer.
These raster image processors are further adapted to store the high resolution output bitmap stream in its internal memory before communicating such bitmap streams for printing to the printing hardware. In a network printer dedicated to a plurality of network host computers, the raster image processor designates multiple output bitmap images into a printing queue and communicates these output bitmap streams to the printing hardware in a pre-defined sequence. It may further be required to compress and decompress the normalized print data at least once before it is finally communicated to the printing hardware.
In the page parallel normalization of the print data, a multi-page job described in the Postscript® page description language is first converted into portable document format. The portable document format being a page independent form enables a multi-page print data to be divided into subsets of data, wherein each of the subset may correspond to one of the multiple pages constituting the print data. A plurality of such pages is thereafter communicated to a plurality of raster image processors provided within the printer simultaneously to independently normalize each individual page data. This ensures that a number of pages in multi-page print document may be normalized in parallel thereby reducing the time required to normalize an entire multi-page print job.
The other page description language known as the printer command language allows a relatively large population of host computers on a local area network to submit jobs at random times to a high speed printing hardware. This method uses a plurality of independent raster image processors adapted to normalize print data provided in different page description languages. This method directs the print jobs coming over the network to different raster image processors based on the compatibility between the job print data and the particular raster image processor assigned to normalize the print data. This method further comprises tracking each individual pages emerging from the raster image processors at random times. These normalized page images are stored within the provided internal memory until the arrival of the precise time window during which a particular normalized page data is communicated and printed through the printing hardware.
U.S. Pat. No. 6,084,688, assigned to Xerox Corporation, discloses an arrangement by which the page parallel processing of input page data in Postscript® page description language is integrated with the high-speed multi-user method of the printer command language. The disclosed method comprises retaining normalized image data from a first normalizing means and a second normalizing means into a provided memory comprising a plurality of buffers, each said buffer being adapted to retain the normalized page data corresponding to one input page data. The first buffer provided within the provided memory is accessed when the first input page data is normalized and likewise a second buffer is accessed when the second input page is normalized. The second buffer in the provided memory is accessed and receives the second normalized page data before the first input page data is normalized in said first normalizing means thereby maintaining a sequence between the normalization and storage of successive input page data.
However, the prior method could stand to be more computationally efficient as it determines the appropriate normalization method based on the input data image compatibility with either of the normalization methods, and would be better if the time performance of a selected method for normalizing a particular input print data stream were considered.